//vuex 先是 actions 》调用 mutations 》调用state
//大写的V为全局配置模式
// import Vue from 'vue'
// import Vuex from 'vuex'
// Vue.use(Vuex)

// export default new Vuex.store({
//   state: {},
//   getters:{},
//   mutations:{},
//   actionsL:{},
//   modules:{}
// }) 


/*
设备添加模块页面。。。。。。。。。。。设备添加模块页面。。。。。。。。设备添加模块页面。。。。。。。。设备添加模块页面
*/

//设备添加
import seriveFacility from "./../serive/seriveFacility";

export default {
  //state装载所有的状态的 在vuex中这就是数据 用于页面读取的
  state: {
	//facilityList:[]数据集合
	facilityList:[],
  count:0,
  storageSiteList:[],
  },

  getters: {
    gettersFacilityList(state){
     return [...state.facilityList];
    },
    gettersCount(state){
      return state.count;
    },
    getStorageSiteLists(state){
      return [...state.storageSiteList]
    }
  },

  //mutations专门用来修改状态值的方法集合，用来修改state值数据的 不支持异步函数
  mutations: {
    //data是commit("addPost",result.data)中的result.data  state是vuex中的state
    // addPost(state,data){
    //   console.log(data);
    //   state.facilityList = data.data;

    // },

    setFacilityList(state,data){
      console.log(data);
      state.facilityList=data.data;
      state.count=data.count;
    },
    setStorageSite(state,data){
      state.storageSiteList=data.data
    }
  },

  //专门用来调用mutations然后修改状态 支持异步
  actions: {
    //设备添加 异步操作 commit提交 {params, facilityName}参数集合
    // async postfacilityAdd({ commit }, { params, facilityName }) {
    //   let result = await seriveFacility.facilityAdd(params, facilityName);
    //   //addPost是方法 result.data是传过去的参数
	  // commit("addPost",result.data)
    //   return result;
    // },

     //数据删除
    
    //数据渲染
    async getfacilityList({commit},{limit,page,name}){
      seriveFacility.getfacilityList(limit,page,name).then(res=>{
        console.log(res.data)
        // this.facilityList=res.data;
        //res.data就是seriveFacility.getfacilityList()传过来的数据
        commit("setFacilityList",res.data)
      })
    },
    //修改之数据展示
    async storageSite({commit}){
     let res = await seriveFacility.storageSite()
     commit("setStorageSite",res.data)
    }
  },
};
